/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mx.its.dsw2.escuela.bl;

import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import mx.its.dsw2.escuela.dao.MateriaDaoLocal;
import mx.its.dsw2.escuela.enumeracion.EstadoTransaccion;
import mx.its.dsw2.escuela.modelo.Materia;

/**
 *
 * @author Maq-8
 */
@Stateless
public class MateriaBl implements MateriaBlLocal {

    @EJB
    private MateriaDaoLocal materiaDao;

    @Override
    public EstadoTransaccion register(Materia matter) {
        if (materiaDao.findByDuplicity(matter)) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            materiaDao.create(matter);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion modify(Materia matter) {
        if (matter.getId() == null || materiaDao.find(matter.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            materiaDao.edit(matter);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public EstadoTransaccion delete(Materia matter) {
        if (matter.getId() == null || materiaDao.find(matter.getId()) == null) {
            return EstadoTransaccion.INCOMPLETO;
        } else {
            materiaDao.remove(matter);
            return EstadoTransaccion.COMPLETO;
        }
    }

    @Override
    public List<Materia> getAll() {
        return materiaDao.findAll();
    }

    @Override
    public Materia findById(int idMatter) {
        return materiaDao.find(idMatter);
    }
}
